import UIKit

/**
     B站：https://www.bilibili.com/video/BV144411C7Gg?p=21

     第21课
         1. 枚举 相关值
         2. 遍历枚举
 */

enum TestEnum {
    case name(String)
    case age(Int)
    case xy(Int,Int)
}

func play(param: TestEnum) {
    switch param {
    case TestEnum.name("hello"):
        print("name - hello")
    case TestEnum.name("world"):
        print("name - world")
    case TestEnum.age(10):
        print("age - 10")
    case TestEnum.age(20):
        print("age - 20")
    case TestEnum.xy(100, 200):
        print("xy - 100 200")
    default:
        print("没有匹配的值")
    }
}

play(param: TestEnum.name("world"))


/**
 CaseIterable 里面有个 方法
 
 allCases
 */
// 迭代器
enum PlayStatus:CaseIterable {
    case stop
    case play
    case pause
    case final
}

print(type(of: PlayStatus.allCases))

for item in PlayStatus.allCases {
    print("PlayStatus-> \(item) = \(item.hashValue)")
}
